iT邦幫忙

2025 iThome 鐵人賽

DAY 28
0
生成式 AI

可愛又迷人的提示詞工程 Prompt Engineering系列 第 28

Day28. 多模態 RAG 與代理

  • 分享至 

  • xImage
  •  

我們已經對純文字的 RAG 框架很熟悉了,當 AI 不知道答案時,它會去查詢資料、閱讀文件,然後生成回答。但當我們讓 AI 同時看圖片、聽聲音、讀文件時,整個系統的複雜度就提升了。

因為檢索的單位、上下文的結構,甚至查什麼才算相關都變得更加立體。這篇文章想跟大家分享如何設計能夠理解、查找並整合不同模態資訊的 RAG 系統與代理。

從單模態到多模態 RAG

傳統的文字型 RAG,運作流程可以簡化為三個步驟,這個機制在處理文件、常見問答集或技術文檔時非常有效:

https://ithelp.ithome.com.tw/upload/images/20251011/201206319wsAoEgHT8.png

然而,當輸入的資訊來源從單一的文字擴展到圖片、音訊或影片時,原有的設計就不太夠用了,因為模型面對的不再只是文字知識庫,而是一個由多元資料構成的複雜環境,可能包含:

  • 圖片資料庫:例如產品圖、場景照片
  • 音訊片段:例如通話錄音、Podcast 內容
  • 影片片段:例如監控畫面、教學影片
  • 結構化資料:例如感測器數據、交易紀錄

更重要的是這些模態之間存在著語義上的交叉連結。用戶的問題可能跨越多個模態,例如:「根據這張產品圖與最新的使用者評論,這款設計在實用性上有改善嗎?」

要回答這類問題,AI 系統必須具備多模態的檢索與生成能力,才能夠理解並整合不同來源的資訊。

多模態 RAG 的基本結構

多模態 RAG 在傳統 RAG 的基礎上,對每個階段都進行了擴展,以應對不同資料類型的挑戰。

架構對照:文字 vs 多模態

https://ithelp.ithome.com.tw/upload/images/20251011/20120631KLs7mqQdsV.png
從單模態進化到多模態,帶來了幾個關鍵的工程問題:

  1. 檢索單位不同:一張圖片所包含的資訊密度遠高於一句話
  2. 語義空間不同:不同模態的嵌入維度與尺度不一致,難以直接比較
  3. 融合策略複雜:不能只是將不同模態的資訊簡單拼接,需要更智慧的上下文設計

因此,多模態 RAG 的工程重點在於,如何將這些異質的模態轉譯成可比較、可檢索、可被大型語言模型理解的統一語義單位。

跨模態檢索

在多模態系統中,檢索不再是單向的以文找文,使用者可以根據手邊的資料類型,靈活地查找另一種模態的相關資訊,這就是跨模態檢索
https://ithelp.ithome.com.tw/upload/images/20251011/20120631aLDhGgYPJv.png

以文字找圖片

使用者輸入「找出所有提到戶外跑步鞋的產品照片」,AI 會使用 CLIP 這類模型,將文字與圖片轉換到相同的語義空間,再透過餘弦相似度計算,找出語義最接近的圖像。

以圖片找文件

使用者輸入「這張產品包裝圖的說明書是哪一份?」,系統會先對圖片生成文字描述,例如「一個白色的產品包裝盒」,再以這段描述作為文字查詢,進行語義搜尋並返回對應的文件

以聲音找影片

使用者輸入「找出所有包含掌聲片段的會議錄影」,AI 利用 wav2vecAudioCLIP 等模型將音訊片段嵌入成向量,再與影片音軌的嵌入向量進行匹配,找出最相關的影片片段

多模態 Context 的整合策略

但檢索到相關資料只是第一步,我們的重點是如何在生成階段有效的整合不同模態的上下文,讓模型真正理解這些資訊,以下是三種常見的方法:

逐模態摘要

先讓模型為每個模態的資料生成一段簡短的摘要,然後再將這些摘要進行語義融合。這種方法可以有效降低 Token 成本,同時保留各模態的核心資訊

範例輸入

[Image Summary]: 圖中顯示一名跑者穿著紅色的鞋子在戶外小徑上
[Text Summary]: 文件提到該鞋款主打輕量與透氣性
[Audio Summary]: 廣告配樂的節奏快速且充滿活力

任務
請整合這三種摘要,撰寫一句具有行銷感的口號

加權融合

當不同模態的資料可靠性或重要性有顯著差異時,可以透過加權的方式來引導模型,我們可以在系統提示詞指定權重:「如果文字描述與圖片內容發生矛盾,請優先依據圖片的內容進行判斷」,也可以使用 Embedding 加權平均,這個是透過數學公式給不同模態的嵌入向量不同的權重

結構化上下文

以 JSON 或類似的結構化格式來包裝多模態資訊,明確區分每個資訊的來源與用途。這不僅方便模型解析,也有助於它在推理階段保持邏輯的一致性。

{
  "image_context": "一雙紅黑配色的跑步鞋,背景是戶外山景",
  "text_context": "產品規格強調其優越的透氣性與防滑功能",
  "audio_context": "廣告背景音樂為輕快配樂,節奏明快",
  "task": "請為這款產品生成適合發佈在社群貼文的文案"
}

代理的角色:讓 RAG 動起來

多模態 RAG 提供了資訊檢索的基礎,但當它與代理結合時,AI 不再只是被動回答問題,而是能主動規劃、調用工具,並完成指定的任務

ReAct 模型的延伸:Reason + Act + Perceive

在經典的 ReAct (Reason + Act) 框架中,代理的思考流程是:思考 → 行動 → 觀察 → 再思考。在多模態的場景中,我們可以為這個循環加入第三個維度:Perceive (感知)。

加入感知後,代理必須可以觀察圖片、影片或聲音,並將這些非文字的感知轉化為內部可用的語義描述,再進行下一步的思考與行動。

https://ithelp.ithome.com.tw/upload/images/20251011/20120631zdiWdX64h4.png
以下是一個代理執行思考的流程範例:

  • 思考:使用者想知道這張新款產品圖和去年的舊款有何不同
  • 行動:我需要調用「圖片對比工具」來分析兩張圖片的視覺差異
  • 感知:(工具回傳結果) 新款鞋子的品牌標誌從黑底白字改為紅底白字
  • 再思考:主要的差異在於品牌標識的配色與材質
  • 回應:這款是新版的設計,品牌標誌的風格更具運動感,視覺上更為突出

像這樣的多模態代理,除了檢索資訊外,還能像人類一樣認真思考:先看、先想,再說

多模態競品分析代理範例

假設我們要打造一個產品競爭分析助理,它能夠根據圖片、技術規格、社群聲量與市場報告,自動產出一份深入的洞察報告

預期系統會輸入以下資料:

  • 圖片:競爭對手產品的外觀設計圖
  • 文件:產品的技術白皮書
  • 文字:網路上的使用者評論
  • 結構化資料:最新的市場佔有率數據

代理流程

https://ithelp.ithome.com.tw/upload/images/20251011/20120631yWdS2MlBoG.png

提示詞範例

你是一位市場分析助理。
以下是關於競爭對手的多模態資料:

[Image A]: 競品外觀照片 (顯示其為灰色鋁合金材質)
[Doc B]: 技術報告摘要 (內容提到採用了新型的散熱結構)
[User Reviews]: 使用者評論中普遍強調「外觀高級但長時間使用容易發燙」

[Task]:
請整合以上所有資料,輸出一份包含三欄的分析報告:

- 外觀特徵
- 技術差異
- 使用者感受

請以 Markdown 表格格式呈現。

小結

多模態 RAG 與代理的出現,讓 AI 從一問一答的知識+,變成一個能感知並行動的系統,在這個過程中,上下文工程扮演著非常重要的角色。它負責定義資料的結構、模態的邊界、融合的邏輯以及系統的反饋迴路。

以上有任何問題歡迎留言詢問


上一篇
Day27. 多模態記憶與語義對齊
系列文
可愛又迷人的提示詞工程 Prompt Engineering28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言